﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//int main()//单⽬操作符:只有一个操作数的运算符
//{
// sizeof(a),!,++,--,~,    &,*
//	return 0;
//}

//int main()//逗号表达式：⽤逗号隔开的多个表达式。计算方法是从左向右依次执⾏。整个表达式的结果是最后⼀个表达式的结果。
//{
//	int a = 1;
//	int b = 2;
//	int c = (a > b, a = b + 10, a, b = a + 1);//逗号表达式
//	printf("%d\n", c);//结果为13
//	return 0;
//}

//int main()// 下标访问[]
//{
//	int arr[10] = { 0 };
//	arr[5] = 6;//下标访问[]是操作符，操作数是arr ，5
//	return 0;
//}

//void test()
//{
//	printf("hehe\n");
//}
//int main()//函数调⽤的()就是作为函数调⽤操作符,操作数是函数名，参数
//{        //函数调用操做符至少有一个操作数（函数名）
//	test();
//	return 0;
//}

//声明一个学生类型->（姓名（字符串-数组），性别（字符串），年龄（整数），学号（字符串））
//struct student
//{
//	char name[20];//成员变量
//	char sex[20];
//	int age;
//	char id[20];
//};
//int main()
//{
//	struct student s1;//局部变量
//	struct student s2;
//	struct student s3;
//	struct student s4;
//	return 0;
//}


//struct Point
//{
//	int x;
//	int y;
//}p3 = { 0,1 },p4 = {4,3}; //全局变量初始化
//struct Point p2 = {6,7};
//
//struct student
//{
//	char name[20];//成员变量
//	char sex[20];
//	int age;
//	char id[20];
//};
//int main()//结构体成员的直接访问是通过点操作符（.）访问的
//{
//	struct Point p1 = {4,5};//初始化
//	struct student s1 = {"张三","男",19,"202304012"};//初始化
//	//struct student s1 = { .name="张三",.sex="男",.age=19,.id="202304012" };//指定顺序初始化
//	scanf("%d", &(s1.age));//输入   直接访问成员  .
//	printf("%s %s %d %s", s1.name, s1.sex, s1.age, s1.id);//打印   使用方式：结构体变量.成员名
//	return 0;
//}


//int main()
//{//在VS中是有符号整数提升
//	char a = 5;//000000000000000000000000000101      00000101---a(char是一个字节，8个比特位所以在低位取8个)
//  char b = 125;//000000000000000000000001111101      01111101---b
//	char c = a + b;//00000101---a  a,b都是char类型，长度小于int类型长度，计算时默认整型提升
//	               //01111101---b  整型提升：有符号整数提升是按照变量的数据类型的符号位来提升的，⽆符号整数提升，⾼位补0
//	//000000000000000000000000000101
//	//000000000000000000000001111101    
//	//000000000000000000000010000010 相加
//	//10000010  --c
//	//111111111111111111111110000010---补码（需要取反+1得到原吗才能打印）
//	printf("%d", c);//原码
//	return 0;
//}

//算数转换  long double
//			double
//			float
//			unsigned long int
//			long int
//			unsigned int
//			int           向上转换

int main()
{
	int i = 1;
	int ret = (++i) + (++i) + (++i);
	printf("%d\n", ret);
	printf("%d\n", i);
	return 0;
}